package h0724;

import java.util.Scanner;

/**
 * @author 不知名帅哥
 * @version 1.0
 * @description 给定一个正整数 n，如果能够分解为 m（m > 1）个连续正整数之和，请输出所有分解中，m最小的分解。
 * 如果给定整数无法分解为连续正整数，则输出字符串"N"。
 * @date 2024/7/24 12:45
 */
public class DecomposeNumber {
    //感觉根等差数列和有关。
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        System.out.println(getRes(n));
    }

    private static String getRes(long n) {
        //n*a1+(n(n-1))/2
        //从m=2遍历，寻找最小的m
        for (long m = 2; m * (m - 1) / 2 < n; m++) {
            if ((n - m * (m - 1) / 2) % m == 0) {
                long a = (n - m * (m - 1) / 2) / m;
                // 检查a是否为正整数
                if (a > 0) {
                    StringBuilder sb = new StringBuilder();
                    sb.append(n).append("=");
                    // 构建输出格式：n=a+(a+1)+...+(a+m-1)
                    for (long i = 0; i < m; i++) {
                        if (i > 0) {
                            sb.append("+");
                        }
                        sb.append(a + i);
                    }
                    //返回构建的字符串
                    return sb.toString();
                }
            }
        }
        return "N";
    }
}
